﻿using Vtron.ATSP.DomainObjects;
using System.Collections.Generic;

namespace Vtron.ATSP.DataAccess
{
    /// <summary>
    /// 持续化的接口
    /// </summary>
    /// <remarks>
    ///     <创建人>邓穗捷</创建人>
    ///     <创建时间>2014-08-25</创建时间>
    ///     <修订人></修订人>
    ///     <修订时间></修订时间>
    ///     <修订说明></修订说明>
    /// </remarks>
    public interface IPersistence
    {
        /// <summary>
        /// 获取校准参数类
        /// </summary>
        /// <param name="deviceNum">设备号</param>
        /// <returns>校准参数类</returns>
        /// <remarks>
        ///     <创建人>邓穗捷</创建人>
        ///     <创建时间>2014-08-25</创建时间>
        ///     <修订人></修订人>
        ///     <修订时间></修订时间>
        ///     <修订说明></修订说明>
        /// </remarks>
        Calibration GetCalibration(byte deviceNum);

        /// <summary>
        /// 保存校准参数类
        /// </summary>
        /// <param name="calibration">校准参数类</param>
        /// <returns>
        /// 是否保存成功 
        ///     true:成功
        ///     false:失败
        /// </returns>
        /// <remarks>
        ///     <创建人>邓穗捷</创建人>
        ///     <创建时间>2014-08-25</创建时间>
        ///     <修订人></修订人>
        ///     <修订时间></修订时间>
        ///     <修订说明></修订说明>
        /// </remarks>
        bool SaveCalibration(Calibration calibration);

        /// <summary>
        /// 保存校准参数类的集合
        /// </summary>
        /// <param name="calibrations">校准参数类的集合</param>
        /// <returns>
        /// 是否保存成功 
        ///     true:成功
        ///     false:失败
        /// </returns>
        /// <remarks>
        ///     <创建人>邓穗捷</创建人>
        ///     <创建时间>2014-08-25</创建时间>
        ///     <修订人></修订人>
        ///     <修订时间></修订时间>
        ///     <修订说明></修订说明>
        /// </remarks>
        bool SaveCalibration(List<Calibration> calibrations);
    }
}
